///************************************************************************
/// <copyrigth>2018-2019 Corporation.All Rights Reserved</copyrigth>
/// <author>tangyingzhong</author>
/// <contact>tangyz114987@outlook.com</contact>
/// <version>v1.0.0</version>
/// <describe>
/// It is an audio decoder which can automatically switch hard decoder and soft decoder 
///</describe>
/// <date>2021/6/26</date>
///***********************************************************************
#ifndef AUDIODECODER_H
#define AUDIODECODER_H

#include "IAudioDecoder.h"

class AudioDecoder :public IAudioDecoder
{
public:
	// Construct the AudioDecoder
	AudioDecoder();

	// Detructe the AudioDecoder
	virtual ~AudioDecoder();

private:
	// Forbid the copy AudioDecoder
	AudioDecoder(const AudioDecoder& other) {	};

	// Forbid the assigment of AudioDecoder
	AudioDecoder& operator=(const AudioDecoder& other) { return *this; };


private:
	// Get the disposed status
	inline bool GetDisposed() const
	{
		return m_bDisposed;
	}

	// Set the disposed status
	inline void SetDisposed(bool bDisposed)
	{
		m_bDisposed = bDisposed;
	}

private:
	// Disposed status
	bool m_bDisposed;
};

#endif // AUDIODECODER_H
